As computing environments increase in the number of guests that they service, it is difficult to have interruption hardware dedicated to each guest. For example, in virtualized real memory environments, such as those based on the z/VM virtual machine support, offered by International Business Machines Corporation, Armonk, N.Y., a large number of low utilization guest operating systems are capable of being serviced. Typically, a virtual machine hypervisor controls the interactions between the guest operating systems and the physical resources. The physical resources are owned by the hypervisor, and the hypervisor dispatches the resources as needed to meet the guest operating systems' processing demands. The hypervisor is used in this manner, since the large number of guests (e.g., hundreds or thousands) that are possible precludes the hypervisor from simply partitioning and assigning the hardware resources to the configured guests, as with other types of virtualization, such as with logical partitioning.
In addition to dispatching responsibilities, the hypervisor has many other responsibilities, including managing I/O interruptions for the guest operating systems. When an I/O interruption targets a guest operating system, the hypervisor takes control because there are insufficient native hardware controls to allow each of the possible many virtual machines to be assigned its own unique set of interruption controls. Thus, in response to an I/O interruption, such as an adapter interruption, a condition is recognized which causes the hypervisor to gain control. The hypervisor then examines the VM-owned adapter state indicators to identify the signaling device, correlates that device to the owning guest, posts the guest-owned state indicator, and makes a virtual adapter interruption pending to the associated guest operating system. This interruption interception and subsequent interruption processing overhead is significant, and with the increasing number of guest operating systems that can be processed, the overhead associated with using the hypervisor for such adapter interruptions is becoming prohibitive.
Based on the foregoing, a need exists for an enhanced capability to handle I/O interruptions. For example, a need exists for a technique that minimizes hypervisor involvement in managing I/O interruptions.